#ifndef WEATHERINFO_H
#define WEATHERINFO_H

#include <QObject>
#include <QString>
#include <QList>
#include <QJsonObject>
#include <QJsonArray>
#include <QJsonDocument>
#include <QDebug>


class Forecast
{
public:
    QString high;       // 高温
    QString low;        // 低温
    QString ymd;        // 年月日
    QString week;       // 星期
    QString sunrise;    // 日出时间
    QString sunset;     // 日落时间
    int aqi;            // 空气质量指数
    QString fx;         // 风向
    QString fl;         // 风力
    QString type;       // 天气类型
    QString notice;     // 温馨提示
};

class WeatherInfo : public QObject
{
    Q_OBJECT
public:
    explicit WeatherInfo(QObject *parent = nullptr);

    // 载入 JSON 字符串并解析
    bool loadFromJson(const QString &json);

    // 获取基本天气信息接口
    QString city() const;         // 城市
    QString date() const;         // 日期
    QString updateTime() const;   // 更新时间

    QString shidu() const;        // 湿度
    QString wendu() const;        // 温度
    double pm25() const;          // PM2.5
    double pm10() const;          // PM10
    QString quality() const;      // 空气质量
    QString ganmao() const;       // 适宜人群（感冒提示）

    // 获取7天天气预报
    QList<Forecast> forecastList() const;

private:
    // 成员变量
    QString m_city;
    QString m_date;
    QString m_updateTime;

    QString m_shidu;
    QString m_wendu;
    double m_pm25;
    double m_pm10;
    QString m_quality;
    QString m_ganmao;

    QList<Forecast> m_forecast;
};

#endif // WEATHERINFO_H
